/**
 * Created by Administrator on 2018/7/27/027.
 */
// layui方法

layui.use(['table', 'form', 'layer','vip_table'], function () {

    // 操作对象
    var form = layui.form
        , table = layui.table
        , layer = layui.layer
        , vipTable = layui.vip_table
        , $ = layui.jquery;


    var token = $('#_token').val();
    var tableIns;
    //初始化
    getProList();

    //工具条操作
    table.on('tool(pro_data)', function(obj) {

        if(obj.event === 'edit') {
            console.log(obj.data);
            var index = layer.load(2, {
                shade: [0.1,'#fff'] //0.1透明度的白色背景
                , time: 1000,
                end:function(e){
                    //自定页
                    layer.open({
                        type: 1,
                        title:['修改产品信息','font-size: 16px;color: #000;font-weight: bolder;'],
                        skin: 'layui-layer-rim', //加上边框
                        area: ['480px', '520px'], //宽高
                        content: $('.edit_pro'),
                        success:function() {
                            $('#set_meal_name').val(obj.data.product_name);
                            $('#date').val(obj.data.date);
                            $('#price').val(obj.data.price);
                            $('#number').val(obj.data.number);
                            $('.type_id').val(obj.data.type_id);
                            $('.time_type').val(obj.data.time_type);
                            $('#p_id').val(obj.data.id);
                            $('[name=status]').each(function(i,item){
                                if($(item).val()==obj.data.status){
                                    $(item).prop('checked',true);
                                }
                            });
                            form.render();
                        }
                    });

                }
            });
        }

        if(obj.event === 'del') {
            var index = layer.confirm('真的删除此套餐？删除以后该套餐信息将不存在,请谨慎操作', {
                btn: ['确定','取消'] //按钮
            }, function(){
                deletePro(obj)
            })
        }
    });

    //添加提交
    form.on('submit(add_pro)',function (data) {
        addProduct(data)
    });

    //编辑提交
    form.on('submit(edit_pro)',function (data) {
        editPro(data);
    });

    // 刷新
    $('#btn-refresh').on('click', function () {
        tableIns.reload();
    });

    //添加套餐
    $('#btn-add').on('click',function(){
        //自定页
        layer.open({
            type: 1,
            title:['添加产品','font-size: 16px;color: #000;font-weight: bolder;'],
            skin: 'layui-layer-rim', //加上边框
            area: ['480px', '470px'], //宽高
            content: $('.add_pro'),
            success:function(){

            }
        });
    });

    // 列表
    function getProList(data) {
        tableIns = table.render({
            elem: '#pro_data',
            // height: vipTable.getFullHeight(),    //容器高度
            page: true,
            count: 100,
            limit: 10,
            cellMinWidth: 80, //全局定义常规单元格的最小宽度，layui 2.2.1 新增
            layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'],
            jump: function(obj){
                //console.log(obj)
            },
            cols: [[                  //标题栏
                {field: 'product_name', title: '套餐名称'}
                , {field: 'date', title: '时长'}
                , {field: 'number', title: 'ip总量'}
                , {field: 'type_id_name', title: '套餐类型'}
                , {field: 'price', title: '价格(元/个)'}
                , {field: 'time_type_name', title: '时间类型'}
                , {field: 'created_at', title: '创建时间'}
                , {field: 'updated_at', title: '修改时间'}
                , {field: 'status_name', title: '状态'}
                , {fixed: 'right', title: '操作', width: 160, align: 'center', toolbar: '#barOption'} //这里的toolbar值是模板元素的选择器
            ]],
            url: '/getProductList',
            where: data,
            method: 'get',
            done: function (res, curr, count) {
                //如果是异步请求数据方式，res即为你接口返回的信息。
                //如果是直接赋值的方式，res即为：{data: [], count: 99} data为当前页数据、count为数据总长度
                // console.log(res);

                //得到当前页码
                // console.log(curr);

                //得到数据总量
                // console.log(count);
            }
        });
    }

    //添加
    function addProduct(data) {
        var data = data.field;
        data._token = token;

        $.ajax({
            url: '/addProduct',          //  添加套餐
            type: 'post',
            data: data,
            timeout: 1000,
            dataType: 'json',
            success: function (data, textStatus, jqXHR) {
                if (data.error_code == 0) {
                    layer.msg('添加成功',{
                        time: 2000, //2s后自动关闭
                        end:function(e){
                            location.href = "/productList"
                        }
                    });
                } else {
                    layer.msg('添加失败，请重新添加',{
                        time: 2000, //2s后自动关闭
                        end:function(e){
                            location.href = "/productList"
                        }
                    });
                }
            },
            error:function(){
                layer.msg('出错了',{
                    time: 2000,
                    end:function(e){
                        location.href = "/productList"
                    }});
            }
        })


    }

    //编辑
    function editPro(data) {
        var data = data.field;
        data._token = token;

        $.ajax({
            url: '/updateProduct',          //  添加套餐
            type: 'post',
            data: data,
            timeout: 1000,
            dataType: 'json',
            success: function (data, textStatus, jqXHR) {
                if (data.error_code == 0) {
                    layer.msg('修改成功',{
                        time: 2000, //2s后自动关闭
                        end:function(e){
                            location.href = "/productList"
                        }
                    });
                } else {
                    layer.msg('修改失败，请重新操作',{
                        time: 2000, //2s后自动关闭
                        end:function(e){
                            location.href = "/productList"
                        }
                    });
                }
            },
            error:function(){
                layer.msg('出错了',{
                    time: 2000,
                    end:function(e){
                        location.href = "/productList"
                    }});
            }
        })
    }

    //删除
    function deletePro(obj) {
        $.ajax({
            url: '/deleteProduct',          //  删除账号
            type: 'post',
            data: {
                product_id: obj.data.id,
                _token:token,
            },
            timeout: 5000,
            dataType: 'json',
            success: function (data, textStatus, jqXHR) {
                if (data.error_code == 0) {
                    layer.msg('删除成功',{
                        time: 2000, //2s后自动关闭
                        end:function(e){
                            location.href = "/productList"
                        }
                    });
                } else {
                    layer.msg('删除失败，请重新操作',{
                        time: 2000, //2s后自动关闭
                        end:function(e){
                            location.href = "/productList"
                        }
                    });
                }
            },
            error:function(){
                layer.msg('出错了',{
                    time: 2000,
                    end:function(e){
                        location.href = "/productList"
                    }});
            }
        });
    }


});